草庐IT

理解nginx的 location 和root

全部标签

javascript - 如何在页面重新加载时清除 react-router 中的 location.state?

我目前正在传递我的路线更改状态,如下所示:ViewDetails我的逻辑是,如果“location.state.transaction”存在,则不获取新数据,否则,获取数据。现在的缺陷是在页面重新加载时。如果用户重新加载页面,应用程序需要获取新数据。我认为如果重新加载“location.state”会被清除,但显然状态保存在sessionStorage中。我该如何解决这个问题?我可以每次都获取新数据,但单击“查看详细信息”链接时不应获取数据。 最佳答案 如果您正在使用ReactHooks,您可以直接使用window.history来

javascript - 更改 window.location 原型(prototype)以禁用某些重定向?

我正在尝试使用Greasemonkey在文档的开头有选择地禁用window.location。我不想完全禁用javascript,只是禁用一些使用javascript完成的重定向。它们看起来像这样:window.location="unwantedurl"; 最佳答案 我认为这是不可能的。您不能覆盖window.location上的属性或方法(静默失败)你不能用location.__proto__=Something.prototype重新定义它的原型(prototype)location.constructor.prototype

javascript - 从 'current' Controller 访问 'root' 范围

我有一个Controller,我认为它是我的“根”Controller,它是用ng-controller属性声明的Controller,然后是通过动态实例化的其他一些Controller$路由提供者。我想声明一个函数,该函数可通过任何动态/子Controller范围内的ng-click属性使用。我可以在我的根Controller上声明这个函数,例如$scope.announce=function(){alert($scope.specificName);}然后我在所有“子”Controller的所有作用域中看到它,但是此函数中使用的$scope是根Controller的本地变量,而不是

javascript - 为什么设置 window.location.href 不会停止脚本执行

无论重定向是1还是任何其他数字,以下代码都会将位置更改为www.bing.com。如果redirect为1,它会记录“正在重定向”,然后重定向到www.bing.com。我最好的猜测是,当href被设置时,一个change-event被触发,但它在执行之前需要一些滴答声。同时,后面的第一行代码仍然被执行。要么?发生了什么事?if(redirect==1){console.log("isredirecting");window.location.href="http://www.google.com";}window.location.href="http://www.bing.com"

javascript - 我无法准确理解 JavaScript 的方法 string.match(regexp) 的 g 标志是如何工作的

在《JavaScript:TheGoodParts》一书中解释了方法string.match(regexp)如下:Thematchmethodmatchesastringandaregularexpression.Howitdoesthisdependsonthegflag.Ifthereisnogflag,thentheresultofcallingstring.match(regexp)isthesameascallingregexp.exec(string).However,iftheregexphasthegflag,thenitproducesanarrayofallthem

javascript - "location.reload()"丢失 POST/SESSION 数据? (F5/Ctrl+R 保留数据?)

我想创建一个按钮来重新加载页面而不丢失$_POST数据和$_SESSION。在网上,我找到了这段代码:onclick="document.location.reload();"这是我的按钮代码:Rechargerlapage但是当我点击按钮时,我丢失了$_POST数据和$_SESSION。如果我尝试使用键盘命令Ctrl+R(Chrome)或F5(Firefox,IE9),浏览器会显示一个警报,通知我“我再次尝试提交表格。如果我接受,它就会起作用。如何使用JavaScript命令重现这种浏览器刷新?还是我按钮的代码错了?非常感谢您的帮助。 最佳答案

javascript - 理解函数和未定义

来自非javascript背景,我试图将我的头脑围绕“未定义”。我写了一个“isUndefined”函数如下:functionisUndefined(value){return(typeofvalue==='undefined');}如果我在我的源代码中输入这个(变量“boo”不存在),我会得到预期的结果“undefinedvariable”。if(typeofboo==='undefined'){console.log('undefinedvariable');}如果我输入以下内容:console.log(isUndefined(undefined));我得到预期的结果“真”如果我输

javascript - 如何 stub require()/expect 调用模块的 "root"函数?

考虑以下jasmine规范:describe("something.act()",function(){it("callssomefunctionofmymodule",function(){varmod=require('my_module');spyOn(mod,"someFunction");something.act();expect(mod.someFunction).toHaveBeenCalled();});});这工作得很好。像这样让它变绿:something.act=function(){require('my_module').someFunction();};现在

javascript - 如何检测 window.location 是否失败?

如何检查对window.location的调用是否因为给定的URL无效等原因而失败?我可以在窗口对象或其他可以捕获此事件的对象上设置一些事件吗? 最佳答案 最终使用“解决方法”使它工作,这不是我最初希望的通用解决方案:我使用的事实是,我尝试打开的链接是移动设备上的自定义url方案(例如myxx://localhost),如果失败,我要执行的操作是重定向到标准应用商店URL(特定于操作系统)。解决方法尝试打开自定义URL,如果失败,超时功能会在不久后启动,并打开另一个URL:setTimeout(function(){window.l

javascript - 使用在 Safari 中不起作用的新 url 重新加载 iframe src/location

我有一个页面最初只加载了iframe中的一个表单,如下所示:'当您单击表单中的按钮时,会调用一些构建url的javascript,然后我想执行以下操作:frame.src='somePage?listId=1';这在IE中有效,可以用新内容“重新加载”框架。但是,在Safari中这不起作用。我有可用的jQuery,但我不想替换现有的iframe,因为它附加了事件。我也无法修改iframe的ID,因为它在整个应用程序中都被引用。我见过一些类似的问题,但没有任何解决方案似乎能很好地解决我的确切问题。任何人都可以提供的任何帮助都会很棒! 最佳答案